Q8 check.bmpを何か文字列をワンライナーで仕込んだビットマップに変換し、ビットマップからその文字を抽出して端末に表示してみてください。文字列を仕込んだビットマップは画像として開けることを確認のこと。
Q8 check.bmpを何か文字列をワンライナーで仕込んだビットマップに変換し、ビットマップからその文字を抽出して端末に表示してみてください。文字列を仕込んだビットマップは画像として開けることを確認のこと。
これは皆目わからなかった
コレを解答するにはビットマップの仕様を把握していないといけない
残念ながら、僕はビットマップ何もわからなかった
上田先生の解答
$ a=$(xxd -ps <<< うんこ); b=$(sed s/././g <<< $a) ; xxd -ps check.bmp | sed '$s/'$b'$/'$a'/' | tr -d \\n | xxd -p -r > bad.bmp
文字列うんこをxxdで16進ダンプして、BMPファイルの末尾のデータをダンプした16進文字列で置き換えるという処理 sedで同じ長さの任意の文字とマッチする正規表現に変換して最後に16進からバイナリに戻している abcdef -> ......
.は正規表現ではあらゆる任意の1文字にマッチする